Businesses are interested in consolidating software applications that run on individual, often under-utilized, servers onto a smaller number of more highly used ones. Such server consolidation is difficult to do as many technological and business factors need to be taken into account and large numbers of servers are typically involved. Relatively common consolidation projects typically involve the consolidation of a few hundred servers. Thus, the amount of performance data that needs to be gathered for analyzing server utilization and identifying performance bottlenecks in an information technology (IT) system or infrastructure is staggering, causing many users to rely only on summarized performance data (such as average or peak CPU utilization) for the analysis. For example, one approach for gathering performance data of an IT system is to instrument such a system to gather data about usage patterns of its computing resources, such as CPUs, disks, network cards, and memory, in the system servers. Because such performance data is typically gathered at regular intervals and over a period of time, the resulting accumulated data is potentially quite large.
As referred herein, and as understood in the art, information technology, or IT, encompasses all forms of technology, including but not limited to the design, development, installation, and implementation of hardware and software information systems and software applications, used to create, store, exchange and utilize information in its various forms including but not limited to business data, conversations, still images, motion pictures and multimedia presentations technology and with the design, development, installation, and implementation of information systems and applications.
Also, as referred herein, a server is a computer or network of computers. Examples of a server include but are not limited to one or more desktop computers, one or more laptop computers, one or more mainframe computers, one or more networked computers, one or more processor-based devices, or any similar types of systems and devices. Thus, a server includes one or more processors of any of a number of computer processors, such as processors from Intel, Motorola, AMD, Cyrix. Each processor is coupled to or includes at least one memory device, such as a computer readable medium (CRM). The processor is operable to execute computer-executable program instructions stored in the CRM, such as program code of applications, to run the applications. The computer-executable program instructions include code from any suitable computer-programming language, such as C, C++, C#, Java, or the like. Embodiments of a CRM include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor of the server with computer-readable instructions. Other examples of a suitable CRM include, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, any optical medium, any magnetic tape or any other magnetic medium, or any other medium from which a computer processor can read instructions.